This invention relates generally to data processing systems in an interconnected environment. More particularly, it relates to an improved method for transmitting of data in a data processing system from a local area network application written to operate in the real address mode of a processor to a local area network through a virtual device driver and physical device stack written for an operating system which uses both the real address mode and protected address mode of the processor.
It is becoming increasingly prevalent to couple a plurality of data processing systems in an interconnected computing environment such as a Local Area Network (LAN) or Wide Area Network (WAN). The networks are becoming increasingly complicated, with several different LAN networks of different protocols coupled together with the data processing systems from multiple vendors in the network.
To assure that different network technologies can communicate with each other, most vendors provide capability to interface according to the IEEE and International Standard Organization's standards for Local Area Networks. ISO 8802-2 (IEEE Standard 802.2-1989) Logical Link Control Protocol describes the data link layer in a Local Area Network. ISO 8802-3 (IEEE Standard 802.3-1988) describes a bus utilizing CSMA/CD as the access method. ISO 8802-4 (IEEE Standard 802.4-1985) describes a bus utilizing token passing as the access method. ISO 8802-05 (IEEE Standard 802.5-1989) describes a ring utilizing token passing as the access method. ISO 8802-07 describes the ring utilizing a slotted ring as the access method. This family of standards deals with the physical and data link layers as defined by the ISO open systems interconnection reference model.
The operating system of a computer system is responsible for controlling the computer hardware components such as a graphic display, a disk storage device and a printer according to sets of instructions in the system memory and through the agency of a plurality of code modules called device drivers. If a personal computer is coupled to a local area network, it will typically include a LAN adapter, a piece of hardware, and a LAN device driver written compatibly to the ISO and IEEE standards. One of the first widely successful operating systems for a personal computer system was the Personal Computer Disk Operating System, commonly called DOS, which is used for personal computers having a CPU in the Intel 286, 386, 486 lines of microprocessors.
OS/2 2.0 is a vastly superior operating system to DOS, but because of the large base of installed DOS applications which users are unwilling to give up, OS/2 2.0, to be commercially viable, must reliably run the DOS applications. OS/2 2.0 runs DOS programs in a special Virtual 8086 mode of the Intel 386 and 486 processors. The Virtual 8086 mode allows each DOS application to run in its own protected one megabyte of memory space called a Virtual DOS Machine (VDM). While it appears to the DOS application that it is running in DOS, it must use OS/2 resources for any I/O calls to system devices which must be shared among a plurality of concurrently running applications. OS/2 2.0 has introduced the concept of an OS/2 virtual device driver (VDD) to intercept DOS I/O calls which emulates the functions of a particular hardware device. The VDD passes the I/O calls to an OS/2 physical device driver (PDD) which has actual access to the device. The PDD interacts with the device adapter and passes the results to the VDD which in turn passes the results to the DOS application.
In the LAN environment, there is a problem with the VDD/PDD arrangement. An OS/2 VDD is a 32-bit ring zero application that can only interact with an OS/2 PDD which is also a 32-bit application. Currently, the protocol drivers and device drivers which control the LAN adapters are written to the ISO and IEEE standards which call for a 16-bit protocol.